package com.qinsheng.trigger.api;

import com.qinsheng.trigger.api.dto.RaffleAwardListRequestDTO;
import com.qinsheng.trigger.api.dto.RaffleAwardListResponseDTO;
import com.qinsheng.trigger.api.dto.RaffleStrategyRequestDTO;
import com.qinsheng.trigger.api.dto.RaffleStrategyResponseDTO;
import com.qinsheng.types.model.Response;

import java.util.List;

/**
 * ClassName: IRaffleService
 * Description: 抽奖服务接口
 *
 * @Author: qinsheng1900
 * @Create 2025/3/9 10:14
 * @Version 1.0
 */
public interface IRaffleStrategyService {

    /**
     * 策略装配接口
     * @param strategyId
     * @return 装配结果
     */
    Response<Boolean> strategyArmory(Long strategyId);

    /**
     *查询抽奖奖品列表配置
     * @param requestDTO
     * @return 奖品列表数据
     */
    Response<List<RaffleAwardListResponseDTO>> queryRaffleAwardList(RaffleAwardListRequestDTO requestDTO);

    /**
     * 随机抽奖接口
     * @param requestDTO
     * @return 抽奖结果
     */
    Response<RaffleStrategyResponseDTO> randomRaffle(RaffleStrategyRequestDTO requestDTO);
}
